Wireless communication and wireless communication devices are now commonplace in modem society. “Wireless” refers to the fact that these devices communicate with other devices over an air interface rather than a wired interface. Telephones, PDAs, MP3 players, and gaming devices are some examples of portable, battery-powered wireless devices. These wireless devices can be “client” devices that obtain some kind of service from one or more server devices, usually via a communications network. For example, a mobile phone connects to a mobile phone network to obtain telephone service in order to make a telephone call. Portable wireless client devices are small and lightweight to allow users to easily carry such a device virtually anywhere, power efficient in order to conserve battery life, and relatively inexpensive to make them affordable by most consumers. But the same is not true for server devices. To the contrary, servers are typically relatively large and heavy computers that require considerable amounts of power to operate, and by comparison to portable consumer wireless devices, are at least an order of magnitude more expensive.
These differences stem from the different functions that portable client devices perform and those that server computers perform. Servers are typically general purpose computing systems that include general purpose computing circuitry, communications circuitry, considerable amounts of working memory as well as long term memory, e.g., hard disk memory. Extensive operating system software and application software are provided. In contrast, there is much less hardware and software in portable client devices, which are streamlined to provide one or a few very focused or dedicated tasks. A portable client device may be viewed as a simple “embedded device” designed to do some specific task rather than be a general purpose computer for multiple tasks. An embedded device usually has low or no performance requirements, allowing the system hardware and software to be simplified to reduce costs such as limited memory, bandwidth, simple or no user interface features, simple or no operating system software, simple applications (applets), etc.
Given the ubiquitous nature of portable wireless devices, it is desirable to provide many servers in many different locations to serve clients in those locations and to be able to connect servers together and to other networks. But to do that, there is a need for cheaper, smaller, and lighter servers. These characteristics are particularly important in situations where small size, low weight, and/or low power are important or desired, e.g., in an air or other travel context. The following description often refers to an air travel context for purposes of illustration, but the technology here can be used to advantage in any server context. The description sometimes refers to handheld wireless gaming servers and clients, but the technology may also be used with other types of handheld or embedded wireless devices.
A handheld wireless device is adapted to function as a portable handheld wireless server for serving handheld wireless clients. A handheld device is of a size and weight that permits easy holding in one hand and normal operation using fingers of one or both hands. Most laptop computers, in contrast, are sized to be operated on top of a person's lap or some other surface, rather than be held and operated by the hand(s) during normal operation. The handheld wireless server includes a battery that powers the server components which include data processing circuitry, read/write memory, and a memory port for receiving an external, detachable, long term, read/write storage device. The long term, read/write storage device stores multiple dynamic server applications for execution by the data processing circuitry and multiple dynamic client applications for download to one or more of the handheld wireless client devices. The term “dynamic” means that the applications can be changed or modified during normal operation without having to turn off and/or re-boot the handheld wireless server device. The handheld wireless server also includes wireless communications circuitry that broadcasts initial information and detects communications from handheld wireless client devices including requests to download one of the client applications stored on the long term storage device. The data processor processes, in parallel, multiple download requests for one or more of the client applications from multiple handheld wireless client devices, retrieves the client applications from the long term storage device operably coupled to the memory port, and provides the client applications wirelessly to the multiple handheld wireless client devices.
In one example embodiment, the handheld wireless device server is an embedded device adapted to perform predetermined server functions. One specific but non-limiting example of a handheld wireless device used as a server is a Nintendo DS. In one example implementation, the Nintendo DS includes a boot cartridge port for receiving a boot cartridge that is configured to initialize the Nintendo DS to function as a wireless access point and a flash memory cartridge is received at the memory port to serve as the long term, read/write storage device. The handheld wireless clients may be (but do not have to be) gaming clients, and at least one server application starts the client applications when provided to the handheld wireless client devices. For example, the handheld wireless gaming clients may also be Nintendo DSs. As one non-limiting example of small size and lightness, the handheld wireless client device without the long term storage device operably coupled to the memory port may weigh no more than 10 ounces and may have dimensions no greater than 3.5″ in width, 6″ in length, and 1.25″ in thickness.
Although the long term storage device may be flash memory, it could be a hard disk or other suitable memory. The long term storage device may be configured as a card, cartridge, disk, chip, or stick, and the memory port is sized to receive the card, cartridge, disk, or stick.
In one non-limiting implementation of the handheld server, the processing circuitry includes a first data processor for executing a kernel and network drivers, a second data processor for executing a kernel, server applications, and a graphics processing unit for processing two-dimensional and three-dimensional images.
The wireless circuitry preferably wirelessly communicates with one or more other wireless servers in order to wirelessly receive one or more applications from the other portable wireless servers and/or to wirelessly transmit one or more applications to the other portable wireless servers. In one example implementation, the portable wireless servers are located on a transport vehicle such as an airplane, ship, bus, train, subway, etc. In that case, the wireless circuitry preferably wirelessly communicates with another wireless access point on the transport vehicle that is part of a transport vehicle network. In another example, the wireless circuitry wirelessly communicates with another wireless access point that is coupled to the Internet so that at least some client applications can be retrieved from a content server connected to the Internet.
It may be useful for the wireless circuitry to wirelessly communicate with another wireless access point using a first wireless protocol and to communicate with the handheld wireless clients using a second wireless protocol. For example, the first wireless protocol can be a standardized wireless protocol and the second wireless protocol a proprietary protocol. A non-limiting example of a standardized wireless protocol is an 802.11 protocol, but other standardized wireless protocols could be used.
In the case where the handheld server device is to communicate using a standardized protocol, that protocol may be modified in order to communicate information that is specific to the handheld wireless gaming devices. For example, the wireless circuitry transmits a beacon signal that includes information about client applications that can be downloaded to the handheld wireless client devices.
Another aspect of this technology relates to a handheld wireless terminal for use by a traveler in a wireless network provided in a travel environment. The handheld wireless terminal wirelessly communicates with different wireless access points each associated with a different location in the travel environment. The handheld wireless terminal includes a battery, data processing circuitry, read/write memory, and wireless communications circuitry. The wireless communications circuitry receives broadcast information including client application indicators from a wireless access point, requests download of one a plurality of client applications based on the broadcast information received from the wireless access point, and receives the requested client application downloaded from the wireless access point. The handheld wireless terminal includes an interactive interface that changes depending on the location in the travel environment of the wireless access point with which the portable handheld wireless gaming terminal communicates.
In one non-limiting example implementation, the interactive interface comprises two separate display screens. Preferably, the interactive interface changes in accordance with an interface application settings downloaded from the wireless access point with which the handheld wireless terminal communicates. For example, different wireless access points download different interface applications that reflect a stage associated with the travel environment including a pre-travel stage, a during-travel stage, and a post-travel stage. If the travel environment includes air travel, then the pre-travel stage includes the traveler arriving at and moving through an airport terminal, the travel stage includes the traveler located in an airplane, and the post-travel stage includes the traveler departing the airport terminal.
Applications downloadable from the wireless access points include one or more of the following: streaming video, video games, video game demos, head to head interactive video games, high scores for video games, contests for highest video game score, outside plane video, traveler check-in, map of airport terminal, directions to a terminal gate, other flight information and options, delays, cancellations, map of flight path, flight progress details, connecting flight details, directions to taxis, rental cars, hotels, and possible activities and events at the traveler's destination, advertisements, on-plane shopping, information videos such as safety and destination, food and beverage ordering, travel guides, electronic copies of an in-flight magazine, foreign language instructions, web access, flight attendant call, overhead reading light control, restroom empty status, or warning to wrap up current activity based on altitude or time to landing.
In one non-limiting example embodiment, one or more of the wireless access points is a portable handheld wireless device operating as wireless access point as well as a server. For example, the portable handheld wireless device operating as a wireless access point is a Nintendo DS device. The portable handheld wireless device operating as a wireless access point preferably also operates as an application server to the portable handheld wireless gaming terminal.
Another aspect of this technology relates to a communications system comprising multiple handheld wireless gaming devices wirelessly linked together. Each handheld wireless gaming device functions as a server to multiple handheld wireless gaming terminals. Each handheld wireless gaming device includes a battery, data processing circuitry, read/write working memory, long term, mass read/write storage storing multiple server applications for execution by the data processing circuitry and multiple client applications for download to one or more of the handheld wireless client devices, wireless communications circuitry that transmits broadcast information, receives requests from multiple ones of the handheld wireless gaming terminals to download one or more client applications, and transmits the requested client applications to the requesting handheld wireless gaming terminals. Each handheld wireless gaming terminal includes a battery, data processing circuitry, read/write working memory, wireless communications circuitry that receives broadcast information from one of the handheld wireless gaming devices, transmits a request to the one handheld wireless gaming device to download of one a plurality of applications, and receives the requested application downloaded from the one handheld wireless gaming device.
At least some of the handheld wireless gaming devices download applications to others of the handheld wireless gaming devices. A local area network may also be provided that includes multiple wireless access points that communicate wirelessly with the handheld wireless gaming devices and with the handheld wireless gaming terminals. In this way, the handheld wireless gaming devices may communicate with an application content server via the local area network or the Internet.